#include "Thread.hpp"
#include<unistd.h>
#include<vector>

using namespace ThreadModule;

int main()
{
    std::vector<Thread> threads;

    for(int i = 0;i<10;i++)
    {
        threads.emplace_back([](){
            while(true)
            {
                char name[128];
                pthread_getname_np(pthread_self(),name,sizeof(name));
                std::cout<<"我是一个新线程："<<name<<std::endl;
                sleep(1);
            }
        });
    }


    for(auto &thread :threads)
    {
        thread.Start();
    }

    sleep(3);

    for(auto &thread :threads)
    {
        thread.Stop();
    }

    for(auto &thread :threads)
    {
        thread.Join();
    }

    return 0;
}


// int main()
// {
//     ThreadModule::Thread t([](){
//         while(true)
//         {
//             std::cout<<"我是一个新线程"<<std::endl;
//         sleep(1);
//         }
//     });

//     t.Start();
//     t.Detach();
//     sleep(5);
//     t.Stop();
//     sleep(3);
//     t.Join();

// }